编辑框(Edit)
Edit 允许用户输入和编辑单行纯文本,并提供一系列有用的编辑功能,包括撤销和重做、剪切和粘贴,以及拖放操作。
通过更改编辑框的 password 属性,还可以将其用作“只写”字段,例如用于输入密码。
格式化编辑框(FormatEdit)
FormatEdit 是一种带有验证器的编辑控件。通过验证器,可以根据定义的规则限制输入的文本内容。
事件
Edit 具备文本更改事件和文本完成事件.
文本更改事件
每当编辑框的文本发生更改时,会触发 textChanged 事件。
文本完成事件
当按下 Enter 键,或者编辑框失去焦点且内容自上次触发该事件后发生了变化时,会触发 textFinished 事件。
// 监听文本更改事件
edit.bind('textChanged', (event: TextChangeEvent): void => {
event.text; // 当前编辑框的文本内容。
});
// 监听文本完成事件
edit.bind('textFinished', (event: TextFinishEvent): void => {
event.text; // 当前编辑框的文本内容。
});
示例代码
创建编辑框
以下代码将创建多个编辑框:
const desktop = Desktop.instance();
const layout = new FlexLayout(desktop, Orientation.Vertical);
layout.spacing = 6;
const edit = new Edit(layout);
edit.placeholder = 'please input';
const edit2 = new Edit(layout);
edit2.text = '123';
const edit3 = new Edit(layout);
edit3.alignment = Alignment.Right;
edit3.text = 'abc';
设置编辑框为密码模式
如果需要将编辑框设置为密码模式,可以修改 password 属性。这样在输入内容时,会显示点或星号,而不是实际字符,从而保护隐私。
const desktop = Desktop.instance();
const edit = new Edit(desktop);
edit.text = '123456';
edit.password = true;
创建带有验证器的格式化编辑框
您还可以创建一个带有验证器的格式化编辑框。例如,只允许输入整数:
const desktop = Desktop.instance();
const formatEdit = new FormatEdit(desktop);
formatEdit.validator = new IntegerValidator;